package co.com.smart.eagle.client.rpcservices.login;


import java.util.List;

import co.com.smart.eagle.client.ParametroHandler;
import co.com.smart.eagle.infrastructure.dto.AplicacionesDTO;
import co.com.smart.eagle.infrastructure.dto.RolesDTO;
import co.com.smart.eagle.infrastructure.dto.UsuariosDTO;

import com.google.gwt.user.client.rpc.AsyncCallback;


public interface LoginServiceAsync {

	void getUsuario(AsyncCallback<ParametroHandler<List<UsuariosDTO>>> callback);
	
	void getRoles(AsyncCallback<ParametroHandler<List<RolesDTO>>> callback);

	void desconexion(AsyncCallback<ParametroHandler<Void>> callback);
	
	void setUsuario(UsuariosDTO user,AsyncCallback<ParametroHandler<Void>> callback);

	void borrarUsuario(UsuariosDTO user,AsyncCallback<ParametroHandler<Void>> callback);
	
	void setRol(RolesDTO rol,AsyncCallback<ParametroHandler<Void>> callback);
	
	void borrarRol(RolesDTO rol,AsyncCallback<ParametroHandler<Void>> callback);
	
	void getApplications(AsyncCallback<ParametroHandler<List<AplicacionesDTO>>> callback);
	
	void setApplication(AplicacionesDTO app,AsyncCallback<ParametroHandler<Void>> callback);
	
	void borrarApplication(AplicacionesDTO app,AsyncCallback<ParametroHandler<Void>> callback);
}
